package cn.fl.ass.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.ass.vo.AssTrailCarDVO;
import cn.cmm.base.framework.utils.CollectionUtils;
import fl.ass.facade.dto.AssTrailCarDDTO;

 /**
 * @Description: 拖车信息明细表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class AssTrailCarDVOTransform {


	/**
	 * DTO 转  VO
	 * @param po AssTrailCarDDTO
	 * @return AssTrailCarDVO
	 */
	public static AssTrailCarDVO toVO(AssTrailCarDDTO dto) {
		AssTrailCarDVO  vo = null;
		if (dto != null) { 
			vo = new AssTrailCarDVO();
			vo.setId(dto.getId());
			vo.setMasterId(dto.getMasterId());//主表ID
			vo.setCstId(dto.getCstId());//客户ID
			vo.setCstNm(dto.getCstNm());//客户名称
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setPrjPrdId(dto.getPrjPrdId());//项目产品ID
			vo.setPrjPrdDtlId(dto.getPrjPrdDtlId());//项目产品明细ID
			vo.setContNo(dto.getContNo());//合同号
			vo.setSalContNo(dto.getSalContNo());//买卖合同号
			vo.setPaySchId(dto.getPaySchId());//支付表ID
			vo.setPaySchNo(dto.getPaySchNo());//支付表编号
			vo.setCstMgrId(dto.getCstMgrId());//客户经理ID
			vo.setCstMgrNm(dto.getCstMgrNm());//客户经理名称
			vo.setBuOrgCd(dto.getBuOrgCd());//所属事业部
			vo.setSplId(dto.getSplId());//供应商ID
			vo.setSplNm(dto.getSplNm());//供应商名称
			vo.setPrdNm(dto.getPrdNm());//产品名称
			vo.setPrdMdl(dto.getPrdMdl());//产品型号
			vo.setIsNew(dto.getIsNew());//是否新产品
			vo.setUsedPd(dto.getUsedPd());//产品已使用期限（月）
			vo.setRsrvPc(dto.getRsrvPc());//产品留购价（元）- 按分保存
			vo.setGuidePc(dto.getGuidePc());//产品单价（元）- 按分保存
			vo.setPrdQty(dto.getPrdQty());//产品数量
			vo.setIsOnline(dto.getIsOnline());//GPS是否在线 1-是 0-否
			vo.setLsPd(dto.getLsPd());//租赁期数
			vo.setLsPdUntCd(dto.getLsPdUntCd());//租赁期数单位（PRJ0010）
			vo.setBackPrice(dto.getBackPrice());//拖车价格
			vo.setBackQty(dto.getBackQty());//拖车数量
			vo.setBackAmt(dto.getBackAmt());//拖车合计费用
			vo.setActBackAmt(dto.getActBackAmt());//实际拖车费用
			vo.setBackStsCd(dto.getBackStsCd());//拖车状态
			vo.setDealTypeCd(dto.getDealTypeCd());//处置方式
			vo.setDealStsCd(dto.getDealStsCd());//处置状态
			vo.setFlowPassTm(dto.getFlowPassTm());//流程通过时间
			vo.setIsEnter(dto.getIsEnter());//是否入库
			vo.setEnterTm(dto.getEnterTm());//入库时间
			vo.setIsOut(dto.getIsOut());//是否出库
			vo.setOutTm(dto.getOutTm());//出库时间
			vo.setGainLoassCd(dto.getGainLoassCd());//盈亏状态
			vo.setGainLoassScale(dto.getGainLoassScale());//盈亏比例
			vo.setGainLoassAmt(dto.getGainLoassAmt());//盈亏金额
			vo.setBackedFlagCd(dto.getBackedFlagCd());//拖回标记(ASS0014)
			vo.setIsHis(dto.getIsHis());//是否历史数据 0-最新 1-历史
			vo.setIsDel(dto.getIsDel());//是否删除 1-删除 0-正常
			vo.setInfoId(dto.getInfoId());//扩展ID

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			//页面需要-JiLi-20170316
			vo.setPayStatus(dto.getPayStatus());//支付表状态
			vo.setBusinessType(dto.getBusinessType());//业务类型
			vo.setFirm(dto.getFirm());//厂商名称
			vo.setOverdueDay(dto.getOverdueDay());//逾期天数
			vo.setOverdueAmt(dto.getOverdueAmt());//逾期租金
			vo.setPenaltyAmt(dto.getPenaltyAmt());//罚息
			vo.setPayAmt(dto.getPayAmt());//应付金额
			vo.setBaseAmt(dto.getBaseAmt());//保底价
			vo.setActualAmt(dto.getActualAmt());//实付金额
			vo.setOrgName(dto.getOrgName());//组织机构名称
			vo.setOrgSimpleCode(dto.getOrgSimpleCode());//组织机构简码
			
			//拖车管理-JiLi-20170323
			vo.setActBackDt(dto.getActBackDt());//拖回时间
			vo.setBackDays(dto.getBackDays());//拖回天数
			vo.setActPayAmt(dto.getActPayAmt());//实际支付金额
			//拖车赎回-JiLi-20170728
			vo.setContAmt(dto.getContAmt());//合同额
			vo.setActLsAmt(dto.getActLsAmt());//融资额
			
			vo.setBusinessType(dto.getBusinessType());//业务类型
			vo.setPrjTypCd(dto.getPrjTypCd());//项目类型
			vo.setPrjNm(dto.getPrjNm());//项目名称
			vo.setEnterRem(dto.getEnterRem());//入库备注
			vo.setOutRem(dto.getOutRem());//出库备注
			vo.setCostFileRem(dto.getCostFileRem());//杂费附件备注
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto AssTrailCarDVO
	 * @return AssTrailCarDDTO
	 */
	public static AssTrailCarDDTO toDTO(AssTrailCarDVO vo) {
		AssTrailCarDDTO dto = null;
		if (vo != null) {
			dto = new AssTrailCarDDTO();
			dto.setId(vo.getId());
			dto.setMasterId(vo.getMasterId());//主表ID
			dto.setCstId(vo.getCstId());//客户ID
			dto.setCstNm(vo.getCstNm());//客户名称
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setPrjPrdId(vo.getPrjPrdId());//项目产品ID
			dto.setPrjPrdDtlId(vo.getPrjPrdDtlId());//项目产品明细ID
			dto.setContNo(vo.getContNo());//合同号
			dto.setSalContNo(vo.getSalContNo());//买卖合同号
			dto.setPaySchId(vo.getPaySchId());//支付表ID
			dto.setPaySchNo(vo.getPaySchNo());//支付表编号
			dto.setCstMgrId(vo.getCstMgrId());//客户经理ID
			dto.setCstMgrNm(vo.getCstMgrNm());//客户经理名称
			dto.setBuOrgCd(vo.getBuOrgCd());//所属事业部
			dto.setSplId(vo.getSplId());//供应商ID
			dto.setSplNm(vo.getSplNm());//供应商名称
			dto.setPrdNm(vo.getPrdNm());//产品名称
			dto.setPrdMdl(vo.getPrdMdl());//产品型号
			dto.setIsNew(vo.getIsNew());//是否新产品
			dto.setUsedPd(vo.getUsedPd());//产品已使用期限（月）
			dto.setRsrvPc(vo.getRsrvPc());//产品留购价（元）- 按分保存
			dto.setGuidePc(vo.getGuidePc());//产品单价（元）- 按分保存
			dto.setPrdQty(vo.getPrdQty());//产品数量
			dto.setIsOnline(vo.getIsOnline());//GPS是否在线 1-是 0-否
			dto.setLsPd(vo.getLsPd());//租赁期数
			dto.setLsPdUntCd(vo.getLsPdUntCd());//租赁期数单位（PRJ0010）
			dto.setBackPrice(vo.getBackPrice());//拖车价格
			dto.setBackQty(vo.getBackQty());//拖车数量
			dto.setBackAmt(vo.getBackAmt());//拖车合计费用
			dto.setActBackAmt(vo.getActBackAmt());//实际拖车费用
			dto.setBackStsCd(vo.getBackStsCd());//拖车状态
			dto.setDealTypeCd(vo.getDealTypeCd());//处置方式
			dto.setDealStsCd(vo.getDealStsCd());//处置状态
			dto.setFlowPassTm(vo.getFlowPassTm());//流程通过时间
			dto.setIsEnter(vo.getIsEnter());//是否入库
			dto.setEnterTm(vo.getEnterTm());//入库时间
			dto.setIsOut(vo.getIsOut());//是否出库
			dto.setOutTm(vo.getOutTm());//出库时间
			dto.setGainLoassCd(vo.getGainLoassCd());//盈亏状态
			dto.setGainLoassScale(vo.getGainLoassScale());//盈亏比例
			dto.setGainLoassAmt(vo.getGainLoassAmt());//盈亏金额
			dto.setBackedFlagCd(vo.getBackedFlagCd());//拖回标记(ASS0014)
			dto.setIsHis(vo.getIsHis());//是否历史数据 0-最新 1-历史
			dto.setIsDel(vo.getIsDel());//是否删除 1-删除 0-正常
			dto.setInfoId(vo.getInfoId());//扩展ID

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			
			//页面需要-JiLi-20170316
			dto.setPayStatus(vo.getPayStatus());//支付表状态
			dto.setBusinessType(vo.getBusinessType());//业务类型
			dto.setFirm(vo.getFirm());//厂商名称
			dto.setOverdueDay(vo.getOverdueDay());//逾期天数
			dto.setOverdueAmt(vo.getOverdueAmt());//逾期租金
			dto.setPenaltyAmt(vo.getPenaltyAmt());//罚息
			dto.setPayAmt(vo.getPayAmt());//应付金额
			dto.setBaseAmt(vo.getBaseAmt());//保底价
			dto.setActualAmt(vo.getActualAmt());//实付金额
			dto.setOrgName(vo.getOrgName());//组织机构名称
			dto.setOrgSimpleCode(vo.getOrgSimpleCode());//组织机构简码
			
			//拖车管理-JiLi-20170323
			dto.setActBackDt(vo.getActBackDt());//拖回时间
			dto.setBackDays(vo.getBackDays());//拖回天数
			dto.setActPayAmt(vo.getActPayAmt());//实际支付金额
			//拖车赎回-JiLi-20170728
			dto.setContAmt(vo.getContAmt());//合同额
			dto.setActLsAmt(vo.getActLsAmt());//融资额
			
			dto.setBusinessType(vo.getBusinessType());//业务类型
			dto.setPrjTypCd(vo.getPrjTypCd());//项目类型
			dto.setPrjNm(vo.getPrjNm());//项目名称
			dto.setEnterRem(vo.getEnterRem());//入库备注
			dto.setOutRem(vo.getOutRem());//出库备注
			dto.setCostFileRem(vo.getCostFileRem());//杂费附件备注
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<AssTrailCarDDTO>
	 * @return List<AssTrailCarDVO>
	 */
	public static List<AssTrailCarDVO> toVOList(List<AssTrailCarDDTO> list) {
		List<AssTrailCarDVO>  voList = new ArrayList<AssTrailCarDVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssTrailCarDDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<AssTrailCarDVO>
	 * @return List<AssTrailCarDDTO>
	 */
	public static List<AssTrailCarDDTO> toDTOList(List<AssTrailCarDVO> list) {
		List<AssTrailCarDDTO>  dtoList = new ArrayList<AssTrailCarDDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssTrailCarDVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
